#pragma once
#include <osg/Geometry>
#include <osgGA/TrackballManipulator>
#include <osgDB/ReadFile>
#include <osg/Shape>
#include <osg/ShapeDrawable>
#include <osg/LineWidth>

class Axes :public osg::Camera
{
public:
	Axes();

	virtual ~Axes();

	inline void setCamera(Camera* camera) { mCamera = camera; }
	inline void setPixelSize(int size) { mPixelSize = size; }
	inline int getPixelSize() { return mPixelSize; }
	virtual void traverse(osg::NodeVisitor& nv);

protected:
	osg::Node* drawAxes();
protected:
	osg::observer_ptr<Camera> mCamera;
	float mLength;
	float mPixelSize;
};